package com.ruijiang.service.VmService;

import com.ruijiang.dto.insert.NodeInsertDto;
import com.ruijiang.dto.page.RegionPageDto;
import com.ruijiang.result.PageResult;
import com.ruijiang.vo.node.NodeEntryVO;
import com.ruijiang.vo.node.NodeInfoVO;
import com.ruijiang.vo.vm.VMInfoVO;

import java.util.List;

public interface NodeService {

    /**
     * 获取点位列表
     * @param regionPageDto
     * @return
     */
    PageResult getNodeList(RegionPageDto regionPageDto);

    /**
     * 新增点位
     * @param dto
     */
    void insertNode(NodeInsertDto dto);

    /**
     * 修改点位
     * @param id
     * @param dto
     */
    void updateNodeById(String id, NodeInsertDto dto);

    /**
     * 删除点位
     * @param id
     */
    void deleteNodeById(String id);

    /**
     * 获取点位详情
     * @param id
     * @return
     */
    List<VMInfoVO> getVmListByNodeId(String id);

    //根据nodeid查询nodeinfovo
    NodeInfoVO getRegBusByNodeId(String nodeId);

    List<NodeEntryVO> getNodeCollect();

    /**
     * 获取点位总数
     * @return
     */
    Integer getNodeCount();
}
